package com.ruoyi.vehicle.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 车辆列表对象 t_vehicle
 * 
 * @author ruoyi
 * @date 2025-08-26
 */
public class TVehicle extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 车辆ID */
    private Long vehicleId;

    /** 归属城市 */
    @Excel(name = "归属城市")
    private String belongingCity;

    /** 车辆级别 */
    @Excel(name = "车辆级别")
    private String vehicleLevel;

    /** 选择车型 */
    @Excel(name = "选择车型")
    private String vehicleModel;

    /** 司机手机号 */
    @Excel(name = "司机手机号")
    private String driverPhone;

    /** 司机姓名 */
    @Excel(name = "司机姓名")
    private String driverName;

    /** 车辆VIN码 */
    @Excel(name = "车辆VIN码")
    private String vehicleVin;

    /** 车牌号 */
    @Excel(name = "车牌号")
    private String licensePlate;

    /** 是否绑定司机 */
    @Excel(name = "是否绑定司机")
    private Integer hasNavigation;

    /** 车颜品牌 */
    @Excel(name = "车颜品牌")
    private String vehicleBrand;

    /** 车颜编号 */
    @Excel(name = "车颜编号")
    private String vehicleColorNumber;

    /** 大屏品牌 */
    @Excel(name = "大屏品牌")
    private String dashboardBrand;

    /** 大屏编号 */
    @Excel(name = "大屏编号")
    private String dashboardNumber;

    /** 车辆状态 */
    @Excel(name = "车辆状态")
    private String vehicleStatus;

    /** 公司标识 */
    @Excel(name = "公司标识")
    private String companyIdentifier;

    /** 车辆厂商 */
    @Excel(name = "车辆厂商")
    private String vehicleManufacturer;

    /** 车辆类型 */
    @Excel(name = "车辆类型")
    private String vehicleType;

    /** 车辆所有人 */
    @Excel(name = "车辆所有人")
    private String vehicleOwner;

    /** 车辆颜色 */
    @Excel(name = "车辆颜色")
    private String vehicleColor;

    /** 发动机号/电动机号 */
    @Excel(name = "发动机号/电动机号")
    private String engineNumber;

    /** 车辆注册日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "车辆注册日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date vehicleRegistrationDate;

    /** 车辆燃料类型 */
    @Excel(name = "车辆燃料类型")
    private String fuelType;

    /** 发动机排量 */
    @Excel(name = "发动机排量")
    private String engineDisplacement;

    /** 车辆照片文件编号 */
    @Excel(name = "车辆照片文件编号")
    private String vehiclePhotoFileNumber;

    /** 运输证字号 */
    @Excel(name = "运输证字号")
    private String transportationPermitNumber;

    /** 车辆运输证发证机构 */
    @Excel(name = "车辆运输证发证机构")
    private String vehicleTransportPermitIssuingAuthority;

    /** 车辆经营区域 */
    @Excel(name = "车辆经营区域")
    private String vehicleOperationArea;

    /** 车辆运输证有效期起 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "车辆运输证有效期起", width = 30, dateFormat = "yyyy-MM-dd")
    private Date vehicleTransportPermitValidFrom;

    /** 车辆运输证有效期止 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "车辆运输证有效期止", width = 30, dateFormat = "yyyy-MM-dd")
    private Date vehicleTransportPermitValidTo;

    /** 车辆初次登记日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "车辆初次登记日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date vehicleFirstRegistrationDate;

    /** 车辆维修状态 */
    @Excel(name = "车辆维修状态")
    private String vehicleMaintenanceStatus;

    /** 车辆下次年审时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "车辆下次年审时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date vehicleNextMaintenanceTime;

    /** 车辆年度审核状态 */
    @Excel(name = "车辆年度审核状态")
    private String vehicleAnnualInspectionStatus;

    /** 发票打印设备序列号 */
    @Excel(name = "发票打印设备序列号")
    private String invoicePrintingDeviceNumber;

    /** 卫星定位设备品牌 */
    @Excel(name = "卫星定位设备品牌")
    private String satellitePositioningDeviceBrand;

    /** 卫星定位设备型号 */
    @Excel(name = "卫星定位设备型号")
    private String satellitePositioningDeviceModel;

    /** 卫星定位设备MAC号 */
    @Excel(name = "卫星定位设备MAC号")
    private String satellitePositioningDeviceMac;

    /** 卫星定位设备安装日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "卫星定位设备安装日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date satellitePositioningDeviceInstallationDate;

    /** 报备日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "报备日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date recordDate;

    /** 服务类型 */
    @Excel(name = "服务类型")
    private String serviceType;

    /** 运价类型编码 */
    @Excel(name = "运价类型编码")
    private String fareTypeCode;

    public void setVehicleId(Long vehicleId) 
    {
        this.vehicleId = vehicleId;
    }

    public Long getVehicleId() 
    {
        return vehicleId;
    }

    public void setBelongingCity(String belongingCity) 
    {
        this.belongingCity = belongingCity;
    }

    public String getBelongingCity() 
    {
        return belongingCity;
    }

    public void setVehicleLevel(String vehicleLevel) 
    {
        this.vehicleLevel = vehicleLevel;
    }

    public String getVehicleLevel() 
    {
        return vehicleLevel;
    }

    public void setVehicleModel(String vehicleModel) 
    {
        this.vehicleModel = vehicleModel;
    }

    public String getVehicleModel() 
    {
        return vehicleModel;
    }

    public void setDriverPhone(String driverPhone) 
    {
        this.driverPhone = driverPhone;
    }

    public String getDriverPhone() 
    {
        return driverPhone;
    }

    public void setDriverName(String driverName) 
    {
        this.driverName = driverName;
    }

    public String getDriverName() 
    {
        return driverName;
    }

    public void setVehicleVin(String vehicleVin) 
    {
        this.vehicleVin = vehicleVin;
    }

    public String getVehicleVin() 
    {
        return vehicleVin;
    }

    public void setLicensePlate(String licensePlate) 
    {
        this.licensePlate = licensePlate;
    }

    public String getLicensePlate() 
    {
        return licensePlate;
    }

    public void setHasNavigation(Integer hasNavigation) 
    {
        this.hasNavigation = hasNavigation;
    }

    public Integer getHasNavigation() 
    {
        return hasNavigation;
    }

    public void setVehicleBrand(String vehicleBrand) 
    {
        this.vehicleBrand = vehicleBrand;
    }

    public String getVehicleBrand() 
    {
        return vehicleBrand;
    }

    public void setVehicleColorNumber(String vehicleColorNumber) 
    {
        this.vehicleColorNumber = vehicleColorNumber;
    }

    public String getVehicleColorNumber() 
    {
        return vehicleColorNumber;
    }

    public void setDashboardBrand(String dashboardBrand) 
    {
        this.dashboardBrand = dashboardBrand;
    }

    public String getDashboardBrand() 
    {
        return dashboardBrand;
    }

    public void setDashboardNumber(String dashboardNumber) 
    {
        this.dashboardNumber = dashboardNumber;
    }

    public String getDashboardNumber() 
    {
        return dashboardNumber;
    }

    public void setVehicleStatus(String vehicleStatus) 
    {
        this.vehicleStatus = vehicleStatus;
    }

    public String getVehicleStatus() 
    {
        return vehicleStatus;
    }

    public void setCompanyIdentifier(String companyIdentifier) 
    {
        this.companyIdentifier = companyIdentifier;
    }

    public String getCompanyIdentifier() 
    {
        return companyIdentifier;
    }

    public void setVehicleManufacturer(String vehicleManufacturer) 
    {
        this.vehicleManufacturer = vehicleManufacturer;
    }

    public String getVehicleManufacturer() 
    {
        return vehicleManufacturer;
    }

    public void setVehicleType(String vehicleType) 
    {
        this.vehicleType = vehicleType;
    }

    public String getVehicleType() 
    {
        return vehicleType;
    }

    public void setVehicleOwner(String vehicleOwner) 
    {
        this.vehicleOwner = vehicleOwner;
    }

    public String getVehicleOwner() 
    {
        return vehicleOwner;
    }

    public void setVehicleColor(String vehicleColor) 
    {
        this.vehicleColor = vehicleColor;
    }

    public String getVehicleColor() 
    {
        return vehicleColor;
    }

    public void setEngineNumber(String engineNumber) 
    {
        this.engineNumber = engineNumber;
    }

    public String getEngineNumber() 
    {
        return engineNumber;
    }

    public void setVehicleRegistrationDate(Date vehicleRegistrationDate) 
    {
        this.vehicleRegistrationDate = vehicleRegistrationDate;
    }

    public Date getVehicleRegistrationDate() 
    {
        return vehicleRegistrationDate;
    }

    public void setFuelType(String fuelType) 
    {
        this.fuelType = fuelType;
    }

    public String getFuelType() 
    {
        return fuelType;
    }

    public void setEngineDisplacement(String engineDisplacement) 
    {
        this.engineDisplacement = engineDisplacement;
    }

    public String getEngineDisplacement() 
    {
        return engineDisplacement;
    }

    public void setVehiclePhotoFileNumber(String vehiclePhotoFileNumber) 
    {
        this.vehiclePhotoFileNumber = vehiclePhotoFileNumber;
    }

    public String getVehiclePhotoFileNumber() 
    {
        return vehiclePhotoFileNumber;
    }

    public void setTransportationPermitNumber(String transportationPermitNumber) 
    {
        this.transportationPermitNumber = transportationPermitNumber;
    }

    public String getTransportationPermitNumber() 
    {
        return transportationPermitNumber;
    }

    public void setVehicleTransportPermitIssuingAuthority(String vehicleTransportPermitIssuingAuthority) 
    {
        this.vehicleTransportPermitIssuingAuthority = vehicleTransportPermitIssuingAuthority;
    }

    public String getVehicleTransportPermitIssuingAuthority() 
    {
        return vehicleTransportPermitIssuingAuthority;
    }

    public void setVehicleOperationArea(String vehicleOperationArea) 
    {
        this.vehicleOperationArea = vehicleOperationArea;
    }

    public String getVehicleOperationArea() 
    {
        return vehicleOperationArea;
    }

    public void setVehicleTransportPermitValidFrom(Date vehicleTransportPermitValidFrom) 
    {
        this.vehicleTransportPermitValidFrom = vehicleTransportPermitValidFrom;
    }

    public Date getVehicleTransportPermitValidFrom() 
    {
        return vehicleTransportPermitValidFrom;
    }

    public void setVehicleTransportPermitValidTo(Date vehicleTransportPermitValidTo) 
    {
        this.vehicleTransportPermitValidTo = vehicleTransportPermitValidTo;
    }

    public Date getVehicleTransportPermitValidTo() 
    {
        return vehicleTransportPermitValidTo;
    }

    public void setVehicleFirstRegistrationDate(Date vehicleFirstRegistrationDate) 
    {
        this.vehicleFirstRegistrationDate = vehicleFirstRegistrationDate;
    }

    public Date getVehicleFirstRegistrationDate() 
    {
        return vehicleFirstRegistrationDate;
    }

    public void setVehicleMaintenanceStatus(String vehicleMaintenanceStatus) 
    {
        this.vehicleMaintenanceStatus = vehicleMaintenanceStatus;
    }

    public String getVehicleMaintenanceStatus() 
    {
        return vehicleMaintenanceStatus;
    }

    public void setVehicleNextMaintenanceTime(Date vehicleNextMaintenanceTime) 
    {
        this.vehicleNextMaintenanceTime = vehicleNextMaintenanceTime;
    }

    public Date getVehicleNextMaintenanceTime() 
    {
        return vehicleNextMaintenanceTime;
    }

    public void setVehicleAnnualInspectionStatus(String vehicleAnnualInspectionStatus) 
    {
        this.vehicleAnnualInspectionStatus = vehicleAnnualInspectionStatus;
    }

    public String getVehicleAnnualInspectionStatus() 
    {
        return vehicleAnnualInspectionStatus;
    }

    public void setInvoicePrintingDeviceNumber(String invoicePrintingDeviceNumber) 
    {
        this.invoicePrintingDeviceNumber = invoicePrintingDeviceNumber;
    }

    public String getInvoicePrintingDeviceNumber() 
    {
        return invoicePrintingDeviceNumber;
    }

    public void setSatellitePositioningDeviceBrand(String satellitePositioningDeviceBrand) 
    {
        this.satellitePositioningDeviceBrand = satellitePositioningDeviceBrand;
    }

    public String getSatellitePositioningDeviceBrand() 
    {
        return satellitePositioningDeviceBrand;
    }

    public void setSatellitePositioningDeviceModel(String satellitePositioningDeviceModel) 
    {
        this.satellitePositioningDeviceModel = satellitePositioningDeviceModel;
    }

    public String getSatellitePositioningDeviceModel() 
    {
        return satellitePositioningDeviceModel;
    }

    public void setSatellitePositioningDeviceMac(String satellitePositioningDeviceMac) 
    {
        this.satellitePositioningDeviceMac = satellitePositioningDeviceMac;
    }

    public String getSatellitePositioningDeviceMac() 
    {
        return satellitePositioningDeviceMac;
    }

    public void setSatellitePositioningDeviceInstallationDate(Date satellitePositioningDeviceInstallationDate) 
    {
        this.satellitePositioningDeviceInstallationDate = satellitePositioningDeviceInstallationDate;
    }

    public Date getSatellitePositioningDeviceInstallationDate() 
    {
        return satellitePositioningDeviceInstallationDate;
    }

    public void setRecordDate(Date recordDate) 
    {
        this.recordDate = recordDate;
    }

    public Date getRecordDate() 
    {
        return recordDate;
    }

    public void setServiceType(String serviceType) 
    {
        this.serviceType = serviceType;
    }

    public String getServiceType() 
    {
        return serviceType;
    }

    public void setFareTypeCode(String fareTypeCode) 
    {
        this.fareTypeCode = fareTypeCode;
    }

    public String getFareTypeCode() 
    {
        return fareTypeCode;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("vehicleId", getVehicleId())
            .append("belongingCity", getBelongingCity())
            .append("vehicleLevel", getVehicleLevel())
            .append("vehicleModel", getVehicleModel())
            .append("driverPhone", getDriverPhone())
            .append("driverName", getDriverName())
            .append("vehicleVin", getVehicleVin())
            .append("licensePlate", getLicensePlate())
            .append("hasNavigation", getHasNavigation())
            .append("vehicleBrand", getVehicleBrand())
            .append("vehicleColorNumber", getVehicleColorNumber())
            .append("dashboardBrand", getDashboardBrand())
            .append("dashboardNumber", getDashboardNumber())
            .append("vehicleStatus", getVehicleStatus())
            .append("companyIdentifier", getCompanyIdentifier())
            .append("vehicleManufacturer", getVehicleManufacturer())
            .append("vehicleType", getVehicleType())
            .append("vehicleOwner", getVehicleOwner())
            .append("vehicleColor", getVehicleColor())
            .append("engineNumber", getEngineNumber())
            .append("vehicleRegistrationDate", getVehicleRegistrationDate())
            .append("fuelType", getFuelType())
            .append("engineDisplacement", getEngineDisplacement())
            .append("vehiclePhotoFileNumber", getVehiclePhotoFileNumber())
            .append("transportationPermitNumber", getTransportationPermitNumber())
            .append("vehicleTransportPermitIssuingAuthority", getVehicleTransportPermitIssuingAuthority())
            .append("vehicleOperationArea", getVehicleOperationArea())
            .append("vehicleTransportPermitValidFrom", getVehicleTransportPermitValidFrom())
            .append("vehicleTransportPermitValidTo", getVehicleTransportPermitValidTo())
            .append("vehicleFirstRegistrationDate", getVehicleFirstRegistrationDate())
            .append("vehicleMaintenanceStatus", getVehicleMaintenanceStatus())
            .append("vehicleNextMaintenanceTime", getVehicleNextMaintenanceTime())
            .append("vehicleAnnualInspectionStatus", getVehicleAnnualInspectionStatus())
            .append("invoicePrintingDeviceNumber", getInvoicePrintingDeviceNumber())
            .append("satellitePositioningDeviceBrand", getSatellitePositioningDeviceBrand())
            .append("satellitePositioningDeviceModel", getSatellitePositioningDeviceModel())
            .append("satellitePositioningDeviceMac", getSatellitePositioningDeviceMac())
            .append("satellitePositioningDeviceInstallationDate", getSatellitePositioningDeviceInstallationDate())
            .append("recordDate", getRecordDate())
            .append("serviceType", getServiceType())
            .append("fareTypeCode", getFareTypeCode())
            .toString();
    }
}
